home *** CD-ROM | disk | FTP | other *** search
/ Game.EXE 2001 January / Game.EXE_01_2001.iso / demos / Blade of Darkness / data1.cab / Program_Executable_Files / Lib / PowDefWidgets.py < prev    next >
Encoding:
Text File  |  2000-11-16  |  6.3 KB  |  183 lines

  1. import ScorerWidgets
  2. import CharStats
  3. import Reference
  4. import Damage
  5. import Bladex
  6. import Scorer
  7. import BUIx
  8. import WidgetsExtra
  9.  
  10. DefTextWidget = 0
  11. PowTextWidget = 0
  12. Visible = 0
  13. Color = 0
  14.  
  15. def Draw():
  16.     global Color 
  17.  
  18.     try: # Cuando se carga una partida, char puede que no este inicializado
  19.         if (Visible):
  20.             char = Bladex.GetEntity("Player1")
  21.             if not char:
  22.                 return
  23.  
  24.             shieldFPow = 0.0
  25.             shieldFDef = 0.0
  26.             weaponFPow = 0.0
  27.             weaponFDef = 0.0
  28.  
  29.             charFPow= CharStats.GetCharDamageData(char.CharType,char.Level)
  30.             charFPow= max(charFPow, 0)
  31.             charFDef= 0
  32.  
  33.             charFDef= CharStats.GetCharDefenseData(char.CharType,char.Level) + char.Data.armour_prot_factor
  34.             charFDef= max(charFDef, 0)
  35.  
  36.             #if (char.InvRight):
  37.             #    WeaponName = char.InvRight
  38.             #else:
  39.             #    WeaponName = char.InvRightBack
  40.                             
  41.             #if (char.InvLeft):
  42.             #    ShieldName = char.InvLeft
  43.             #else:
  44.             #    ShieldName = char.InvLeftBack
  45.             inv= char.GetInventory()
  46.             WeaponName = inv.GetActiveWeapon()
  47.             ShieldName = inv.GetActiveShield()
  48.  
  49.             if WeaponName:
  50.                 if Reference.EntitiesObjectData.has_key(WeaponName):
  51.                     if Reference.EntitiesObjectData[WeaponName][0] == Reference.OBJ_WEAPON or Reference.EntitiesObjectData[WeaponName][0] == Reference.OBJ_STANDARD or Reference.EntitiesObjectData[WeaponName][0] == Reference.OBJ_ARROW:
  52.                         weaponData = Reference.EntitiesObjectData[WeaponName]
  53.                         if len (weaponData) > 1:                    
  54.                             weaponFPow = weaponData[1]
  55.                             weaponFDef = weaponData[2]
  56.                 else:
  57.                     kind = Bladex.GetEntity(WeaponName).Kind    
  58.                     if Reference.DefaultObjectData.has_key(kind):
  59.                         if Reference.DefaultObjectData[kind][0] == Reference.OBJ_WEAPON or Reference.DefaultObjectData[kind][0] == Reference.OBJ_STANDARD or Reference.DefaultObjectData[kind][0] == Reference.OBJ_ARROW:
  60.                             weaponData = Reference.DefaultObjectData[kind]
  61.                             if len (weaponData) > 1:
  62.                                 weaponFPow = weaponData[1]
  63.                                 weaponFDef = weaponData[2]                            
  64.  
  65.             if ShieldName:
  66.                 if Reference.EntitiesObjectData.has_key(ShieldName):
  67.                     if Reference.EntitiesObjectData[ShieldName][0] ==  Reference.OBJ_SHIELD:
  68.                         shieldFPow = Reference.EntitiesObjectData[ShieldName][1]                    
  69.                         
  70.                 else:
  71.                     kind = Bladex.GetEntity(ShieldName).Kind    
  72.                     if Reference.DefaultObjectData.has_key(kind):
  73.                         if Reference.DefaultObjectData[kind][0] ==  Reference.OBJ_SHIELD:
  74.                             shieldFPow = Reference.DefaultObjectData[kind][1]                        
  75.  
  76.             FDefense = char.Data.FDefense
  77.             FAttack = char.Data.FAttack
  78.  
  79.             if (char.Data.PowerPotion):
  80.                 if (Color == 0):
  81.                     DefTextWidget.SetColor(255,0,0)
  82.                     PowTextWidget.SetColor(255,0,0)            
  83.                     Color = 1
  84.             else:
  85.                 if (Color):
  86.                     DefTextWidget.SetColor(128,128,128)
  87.                     PowTextWidget.SetColor(128,128,128)            
  88.                     Color = 0
  89.             
  90.             damage = int((charFPow * FAttack) + (weaponFPow + shieldFPow))
  91.             defense = int((charFDef * FDefense) + weaponFDef)
  92.  
  93.             PowTextWidget.SetText("POW " + `damage`)
  94.             DefTextWidget.SetText("DEF " + `defense`)
  95.  
  96.             Bladex.AddScheduledFunc (Bladex.GetTime() + 1.0,Draw,(),"PowWidgetDraw")
  97.             wPowFrame.RecalcLayout()
  98.             wDefFrame.RecalcLayout()
  99.  
  100.     except Exception,exc:
  101.         print "PowDefWidgets.Draw()",exc
  102.  
  103.  
  104. def Deactivate():
  105.     global Visible
  106.  
  107.     if PowTextWidget and DefTextWidget:
  108.         PowTextWidget.SetVisible(0)
  109.         DefTextWidget.SetVisible(0)
  110.         PowBmpWidget.SetVisible(0)
  111.         DefBmpWidget.SetVisible(0)
  112.     
  113.         Visible = 0
  114.  
  115. def Activate():
  116.     global Visible
  117.  
  118.     if PowTextWidget and DefTextWidget:
  119.         PowTextWidget.SetVisible(1)
  120.         DefTextWidget.SetVisible(1)
  121.         PowBmpWidget.SetVisible(1)
  122.         DefBmpWidget.SetVisible(1)
  123.         Visible = 1
  124.  
  125.         Draw()
  126.  
  127. def CreateWidgest():
  128.     global DefTextWidget
  129.     global PowTextWidget
  130.  
  131.     global DefBmpWidget
  132.     global PowBmpWidget
  133.  
  134.     global wDefFrame
  135.     global wPowFrame
  136.     
  137.     wDefFrame=BUIx.B_FrameWidget(Scorer.wFrame,"DefFrame",80,40)
  138.     Scorer.wFrame.AddWidget(wDefFrame,0.09,15,BUIx.B_FrameWidget.B_FR_HRelative,BUIx.B_FrameWidget.B_FR_HCenter,BUIx.B_FrameWidget.B_FR_AbsoluteBottom,BUIx.B_FrameWidget.B_FR_Bottom)
  139.  
  140.     wPowFrame=BUIx.B_FrameWidget(Scorer.wFrame,"PowFrame",80,40)
  141.     Scorer.wFrame.AddWidget(wPowFrame,0.91,15,BUIx.B_FrameWidget.B_FR_HRelative,BUIx.B_FrameWidget.B_FR_HCenter,BUIx.B_FrameWidget.B_FR_AbsoluteBottom,BUIx.B_FrameWidget.B_FR_Bottom)
  142.  
  143.  
  144.     DefTextWidget=WidgetsExtra.B_FlashTextWidget(wDefFrame,"DefText","",ScorerWidgets.font_server,"..\\..\\Data\\Mapa de letras.bmp")
  145.     DefTextWidget.SetAlpha(1)
  146.     DefTextWidget.SetColor(0,128,255)    
  147.     DefTextWidget.SetText("Def")
  148.     wDefFrame.AddWidget(DefTextWidget,0.5,0.5,BUIx.B_FrameWidget.B_FR_HRelative,      BUIx.B_FrameWidget.B_FR_HCenter,
  149.                                               BUIx.B_FrameWidget.B_FR_VRelative,      BUIx.B_FrameWidget.B_FR_VCenter)
  150.  
  151.     PowTextWidget=WidgetsExtra.B_FlashTextWidget(wPowFrame,"PowText","",ScorerWidgets.font_server,"..\\..\\Data\\Mapa de letras.bmp")
  152.     PowTextWidget.SetAlpha(1)
  153.     PowTextWidget.SetColor(0,128,255)    
  154.     PowTextWidget.SetText("Pow")
  155.     wPowFrame.AddWidget(PowTextWidget,0.5,0.5,BUIx.B_FrameWidget.B_FR_HRelative,      BUIx.B_FrameWidget.B_FR_HCenter,
  156.                                               BUIx.B_FrameWidget.B_FR_VRelative,      BUIx.B_FrameWidget.B_FR_VCenter)
  157.  
  158.  
  159.  
  160.     DefBmpWidget = BUIx.B_BitmapWidget(wDefFrame,"DefBmpWidget",80,40,"MARCADORDEFENSA","../../Data/marcadordefensa.mmp")
  161.     DefBmpWidget.SetColor(255,255,255)
  162.     DefBmpWidget.SetAlpha(1.0)
  163.     wDefFrame.AddWidget(DefBmpWidget,0.5,0.55,BUIx.B_FrameWidget.B_FR_HRelative,      BUIx.B_FrameWidget.B_FR_HCenter,
  164.                                              BUIx.B_FrameWidget.B_FR_VRelative,      BUIx.B_FrameWidget.B_FR_VCenter)
  165.  
  166.     PowBmpWidget = BUIx.B_BitmapWidget(wPowFrame,"PowBmpWidget",80,40,"MARCADORATAQUE","../../Data/marcadorataque.mmp")
  167.     PowBmpWidget.SetColor(255,255,255)
  168.     PowBmpWidget.SetAlpha(1.0)
  169.     wPowFrame.AddWidget(PowBmpWidget,0.5,0.55,BUIx.B_FrameWidget.B_FR_HRelative,      BUIx.B_FrameWidget.B_FR_HCenter,
  170.                                              BUIx.B_FrameWidget.B_FR_VRelative,      BUIx.B_FrameWidget.B_FR_VCenter)
  171.  
  172.     Deactivate()
  173.  
  174.  
  175. def FlashWidgest():
  176.     global DefTextWidget
  177.     global PowTextWidget
  178.     
  179.     DefTextWidget.SetFlash(22)
  180.     PowTextWidget.SetFlash(22)
  181.  
  182.     Bladex.AddScheduledFunc (Bladex.GetTime() + 2.0,DefTextWidget.SetFlash,(0,))
  183.     Bladex.AddScheduledFunc (Bladex.GetTime() + 2.0,PowTextWidget.SetFlash,(0,))